package http_server

import (
	"bytes"
	"compress/gzip"
	"fmt"
	"io"
	"strings"
)

func bindata_read(data []byte, name string) ([]byte, error) {
	gz, err := gzip.NewReader(bytes.NewBuffer(data))
	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}

	var buf bytes.Buffer
	_, err = io.Copy(&buf, gz)
	gz.Close()

	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}

	return buf.Bytes(), nil
}

var _proto_micro_mall_order_proto_order_business_order_business_swagger_json = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x56\x31\x6f\x13\x4d\x10\xed\xef\x57\xac\xf6\xfb\xca\x28\x0e\x11\xa2\x48\x07\x54\xa9\x90\x48\x89\xa2\xd3\x66\x6f\x6c\x6f\xb8\xdb\xdd\xcc\xce\x1a\x2c\xe4\x82\x8e\x86\x0e\x14\x10\x34\x50\x51\xe1\xde\x29\xf8\x33\xb1\x05\xff\x02\xed\xdd\xc5\xbe\x3b\xdb\xd8\x39\x13\xe1\xea\xbc\x3b\xf3\x66\xde\xdb\x37\x7b\xf7\x2a\x62\x8c\xbb\x17\xa2\xd7\x03\xe4\x47\x8c\x1f\xee\x1f\xf0\xbd\xb0\xa6\x74\xd7\xf0\x23\x16\xf6\x19\xe3\xa4\x28\x85\xb0\x6f\xd1\x90\xe9\x64\x4a\xa2\x89\x33\x91\xa6\xb1\xc1\x04\x30\x2e\x96\x8b\xe7\x33\xef\x94\x06\xe7\x1a\x7f\xf7\xf3\x98\x1c\x9c\x31\x3e\x00\x74\xca\xe8\x00\x59\x3e\x32\x6d\x88\x39\x20\x1e\x31\x36\xca\x5b\x90\x46\x3b\x9f\x81\xe3\x47\xec\x59\x91\x25\xac\x4d\x95\x14\xa4\x8c\xee\x9c\x3b\xa3\x43\xec\x69\x1e\x6b\xd1\x24\x5e\x6e\x19\x2b\xa8\xef\x16\xdc\x3a\x83\x7b\x45\xab\x1d\x89\x20\x08\xe6\x3b\x21\xd4\x38\xaa\xfc\x0f\x5a\xf9\x2c\x13\x38\x0c\x8d\x4f\xdf\x7c\x9a\x5e\x4d\x7e\x7e\xff\x3a\x7d\xfb\xbe\xe4\x95\x87\x18\x0b\x98\xd7\x3d\x4e\x42\xd8\xe3\x1c\xf5\x49\xa8\x50\x8d\x42\x70\xd6\x68\x07\xae\x86\xcf\x18\x3f\x3c\x38\x68\x2c\x31\xc6\x13\x70\x12\x95\xa5\x52\xb3\x87\xcc\x79\x29\xc1\xb9\xae\x4f\xd9\x0d\xd2\x7e\x05\xbe\xe8\x55\xf6\x21\x13\x4b\x60\x8c\xf1\xff\x11\xba\x01\xe7\xbf\x4e\x02\x5d\xa5\x55\xc0\x6d\x1e\x58\xa5\xef\xa7\x65\x05\x5e\xc3\x19\x45\xab\x9e\x47\x15\x8e\x56\xa0\xc8\x80\x00\x17\xe7\x52\xfc\x1a\xec\xb4\xc8\x72\x77\x9d\x99\x64\xd8\x24\xa1\xf4\xba\x1d\x84\x0b\xaf\x10\x82\xc8\x84\x1e\xee\x8e\xfc\x85\x07\x47\xdb\x70\x3f\xad\x70\x27\xd1\x6b\xb2\xe6\x39\xde\xa3\xb2\xc4\x09\xe0\x40\xc9\x8a\xa6\xa7\x51\x15\x6f\x34\x9f\x83\x4a\x97\x0b\xd7\x6e\x6c\xb7\xe2\x62\x1a\xda\x5c\x5e\x73\x76\x0e\x92\xe6\x32\x86\xa1\xb1\x80\xa4\x1a\x1e\xe4\x5e\x25\x4d\x53\xde\x40\x38\x42\xa5\x7b\xb5\x93\xe0\x5d\x83\x99\x08\x05\xb9\xd2\xf4\xe0\x3e\x5f\x69\x05\xf7\xdc\xc7\xd2\x24\xb0\x01\x78\x75\x6e\xdf\xd8\xf8\x0e\x7a\xb2\x18\xf4\x6f\xd1\x90\xc8\x8c\xd7\xf4\xd7\xfb\x21\x95\xb5\x6a\xa7\x1c\x9f\x5b\xe7\x59\x31\x04\x8c\x65\xaa\x40\x53\xac\x6c\x1b\x88\x04\x82\x87\x37\x1f\xce\x9a\xe4\xea\xa5\x76\x7b\x5b\x48\xd0\x10\xd7\x5e\x54\xe5\xce\x36\x13\x9e\x0f\xcb\x49\x80\x38\x0e\x08\x8b\x0a\xf5\x29\xdc\xdb\x38\x6e\xe5\xd5\xb8\xc3\xbc\x15\xe0\x6d\xa7\x23\xb8\x26\x86\x97\x56\xe1\xf6\xe9\x5b\x70\x6c\xe8\xb3\x03\xbd\x7f\x6d\x33\x47\x06\xdb\xfb\xe4\x24\x64\xaf\xb1\xc8\x9c\xfa\xfc\xfb\x68\xf6\x6e\x7c\x7d\xf5\x61\xfa\x79\x32\xfb\x38\xbe\xfe\xf1\x65\xf6\x7a\xcc\xff\xa0\xf1\x02\x7b\x07\x79\xdb\x89\xd2\xf6\xce\x10\x08\xa2\xb5\x55\x45\x92\x20\xb8\xa5\x2f\x9e\x8d\x36\x5d\xd6\xf9\xd7\xe5\xb7\xe9\xe4\xb2\xa6\x70\x78\x5f\x46\xa3\xe8\x77\x00\x00\x00\xff\xff\x29\x4a\x64\xf4\xd2\x0a\x00\x00")

func proto_micro_mall_order_proto_order_business_order_business_swagger_json() ([]byte, error) {
	return bindata_read(
		_proto_micro_mall_order_proto_order_business_order_business_swagger_json,
		"proto/micro_mall_order_proto/order_business/order_business.swagger.json",
	)
}

// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	if f, ok := _bindata[cannonicalName]; ok {
		return f()
	}
	return nil, fmt.Errorf("Asset %s not found", name)
}

// AssetNames returns the names of the assets.
func AssetNames() []string {
	names := make([]string, 0, len(_bindata))
	for name := range _bindata {
		names = append(names, name)
	}
	return names
}

// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() ([]byte, error){
	"proto/micro_mall_order_proto/order_business/order_business.swagger.json": proto_micro_mall_order_proto_order_business_order_business_swagger_json,
}

// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
//     data/
//       foo.txt
//       img/
//         a.png
//         b.png
// then AssetDir("data") would return []string{"foo.txt", "img"}
// AssetDir("data/img") would return []string{"a.png", "b.png"}
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
	node := _bintree
	if len(name) != 0 {
		cannonicalName := strings.Replace(name, "\\", "/", -1)
		pathList := strings.Split(cannonicalName, "/")
		for _, p := range pathList {
			node = node.Children[p]
			if node == nil {
				return nil, fmt.Errorf("Asset %s not found", name)
			}
		}
	}
	if node.Func != nil {
		return nil, fmt.Errorf("Asset %s not found", name)
	}
	rv := make([]string, 0, len(node.Children))
	for name := range node.Children {
		rv = append(rv, name)
	}
	return rv, nil
}

type _bintree_t struct {
	Func     func() ([]byte, error)
	Children map[string]*_bintree_t
}

var _bintree = &_bintree_t{nil, map[string]*_bintree_t{
	"proto": &_bintree_t{nil, map[string]*_bintree_t{
		"micro_mall_order_proto": &_bintree_t{nil, map[string]*_bintree_t{
			"order_business": &_bintree_t{nil, map[string]*_bintree_t{
				"order_business.swagger.json": &_bintree_t{proto_micro_mall_order_proto_order_business_order_business_swagger_json, map[string]*_bintree_t{}},
			}},
		}},
	}},
}}
